//保存表格的实例对象
var tableI = null;

function aa(){
    tableI.reload();
}

layui.use(['table','form','layer'], function () {
    var table = layui.table;
    var form = layui.form;
    var layer = layui.layer;

    //监听顶部重置按钮
    // form.on('submit(cz)',function (d){
        // $("[name=commodityName]").val(undefined)
        // $("[name=classifyTitle]").val(undefined)
        // $("[name=commodityState]").val(undefined)
        // $("input").val('');
        //
        // tableI.reload({
        //     url:'/product/getCommoditySee',
        // },true)
        // return false
        // 刷新页面
        // window.location.replace("product.html");
    // })

    // 展示表格
    tableI = table.render({
        elem: '#demo',
        url: '/product/getCommoditySee',
        id:'tableIn',
        page:{
            //       总条数  左箭头  显示的页数 右箭头  // 每页显示条数
            layout:['count','prev','page','next','limit'],
            groups:1,
            // 每页显示条数
            limit:5,
            // 每页显示条数
            limits:[5,8,10]
        },
        cols: [[
            {field: '', title: '', type: 'checkbox',height:30},
            {field: 'commodityCode', title: "商品编号", width: 120,sort: true},
            {field: 'commodityImage', title: "商品图片", width: 130, templet: function (d) {
                    return '<img src="http://43.143.176.39/' + d.commodityImage + '" width="80px" height="80px">';
                }},
            {field: 'commodityName', title: "商品名称", width: 150},
            {field: 'currentPrice', title: "商品价格", width: 120,sort: true,align: 'center',templet:function (d){
                    return d.currentPrice + '￥';
                }},
            {field: 'commodityState', title: "上架/下架", width: 130, templet: function (d) {
                    var state = '<a lay-event = "spsxj">';
                    if (d.commodityState == 1) {
                        state += '<input type="checkbox" name="commodityState" checked lay-skin="switch" lay-text="上架|下架">';
                    }if(d.commodityState == 2) {
                        state += '<input type="checkbox" name="commodityState" lay-skin="switch" lay-text="上架|下架">';
                    }
                    state += '</a>';
                    return state;
                },
                width: 130,
            },
            {field: 'classifyTitle', title: "商品分类", width: 150},
            {field: 'commodityLabel', title: "商品标签", width: 120},
            {field: 'commodityExamine', title: "审核状态", width: 120, templet: function (d) {
                var stt = '<a lay-event = "sp">';
                if (d.commodityExamine == 1){
                    stt = "审核通过"+'<br>'+'<button type="submit" lay-event="sp"' +
                        ' id="auditDetails" class="layui-btn layui-btn-primary layui-btn-xs spbut">审核详情</button>';
                } if (d.commodityExamine == 2){
                    stt = "待审核"+'<br>'+'<button type="submit" lay-event="sp"' +
                        ' id="auditDetails" class="layui-btn layui-btn-primary layui-btn-xs spbut">审核详情</button>';
                } if (d.commodityExamine == 0){
                    stt = "审核未通过"+'<br>'+'<button type="submit" lay-event="sp"' +
                        ' id="auditDetails" class="layui-btn layui-btn-primary layui-btn-xs spbut">审核详情</button>';
                }
                stt += '</a>';
                return stt;
            }},
            {title: '操作', toolbar: '#toolbtn', width: 130}
        ]],

        // 分页
        parseData:function (res){
            return{
                "code":res.code,
                "msg":res.msg,
                "count":res.count,
                "data":res.data
            };
        },
        toolbar: '#toolbarbtn'
    });

    //查询 重新渲染表格
    form.on('submit(ss)', function (d) {
        d=d.field;
        console.log(d)
        table.reload('tableIn',{
            where: {
                commodityName: d.commodityName,
                classifyTitle: d.classifyTitle,
                commodityState: d.commodityState
            }
        })
    })

    // 添加
    table.on('toolbar(test)', function (obj) {
        if (obj.event === 'add') {
            layer.open({
                type:2,
                title:'查看用户信息',
                content:'productadd.html',
                shade:[0.5,'#AFEEEE'],
                anim:4,
                area: ['100%', '100%'],
            })
        }
    })

    // 查看
    table.on('tool(test)', function (obj) {
        data = obj.data
        // 子页面向父页面传值，封装键值对，父页面拿出
        localStorage.setItem("qq",obj.data.commodityId);
        console.log(obj.data.commodityId)
        // 查看
        if (obj.event === 'see') {
            layer.open({
                type: 2,
                title: '',
                content: 'see.html',
                shade:[0.5,'#AFEEEE'],
                anim:4,
                area: ['80%', '80%'],
                success: function (layero, index) {
                    var body = layer.getChildFrame('body', index);
                    // 商品名称
                    body.find('#commodityName').text(obj.data.commodityName);
                    // 商品分类名称
                    body.find('#classifyTitle').text(obj.data.classifyTitle);
                    // 商品关键字
                    body.find('#searchKeywords').text(obj.data.searchKeywords);
                    // 商品编号
                    body.find('#commodityCode').text(obj.data.commodityCode);
                    //  商品状态
                    if (obj.data.commodityState == 1){
                        body.find('#commodityState').text("已上架");
                    }else if (obj.data.commodityState == 2){
                        body.find('#commodityState').text("已下架");
                    }
                    // 商品路径
                    body.find('#commodityImage').attr('src','http://43.143.176.39/' + obj.data.commodityImage);
                    // 商品标签
                    body.find('#commodityLabel').text(obj.data.commodityLabel);
                    // 商品价格
                    body.find('#currentPrice').text(obj.data.currentPrice);
                    // 商品内容
                    body.find('#commodityDetails').text(obj.data.commodityDetails);
                    // 用户名称
                    body.find('#userName').text(obj.data.userName);
                    // 上传时间
                    body.find('#createDate').text(obj.data.createDate);
                    // 审核状态
                    if (obj.data.commodityExamine == 0){
                        body.find('#commodityExamine').text("审核未通过");
                    }else if (obj.data.commodityExamine == 1){
                        body.find('#commodityExamine').text("审核通过");
                    }else if (obj.data.commodityExamine == 2){
                        body.find('#commodityExamine').text("待审核");
                    }
                }
            })
            // 删除
        } else if (obj.event === 'delete'){
            layer.confirm('真的删除'+obj.data.commodityName+'吗?',function (index) {
                $.ajax({
                    type:'post',
                    url:'/add/productDelete',
                    data:{"commodityId": obj.data.commodityId},
                    dataType:'json',
                    success: function (res) {
                        layer.close(index);
                        tableI.reload();
                        if (res.start == 200){
                            layer.msg(res.msg,{time:500,icon:5})
                        }
                        else {
                            layer.msg(res.msg,{time:500,icon:6})
                        }
                    },
                    error: function (e) {
                        console.log("失败");
                        console.log(e);
                    }
                })
            });
            // 修改编辑
        }else if (obj.event === 'edit'){
            layer.open({
                type: 2,
                title: '',
                content: 'edit.html',
                shade:[0.5,'#AFEEEE'],
                anim:4,
                area: ['80%', '80%'],
                success: function (layero, index) {
                    let childFrame = layer.getChildFrame('body', index);
                    // 商品编号
                    childFrame.find('input[name="commodityCode"]').val(obj.data.commodityCode);
                    // 商品id
                    childFrame.find('input[name="commodityId"]').val(obj.data.commodityId);
                    // 商品名称
                    childFrame.find('input[name="commodityName"]').val(obj.data.commodityName);
                    // 商品分类id
                    childFrame.find('input[name="classifyId"]').val(obj.data.classifyId);
                    // 商品路径
                    childFrame.find('#commodityImage').attr('src','http://43.143.176.39/' + obj.data.commodityImage);
                    childFrame.find('input[name="commodityImage"]').val(obj.data.commodityImage);
                    // 商品分类名称
                    childFrame.find('input[name="classifyTitle"]').val(obj.data.classifyTitle);
                    // 商品标签
                    childFrame.find('input[name="commodityLabel"]').val(obj.data.commodityLabel);
                    // 商品关键字
                    childFrame.find('input[name="searchKeywords"]').val(obj.data.searchKeywords);
                    // 商品内容
                    childFrame.find('input[name="commodityDetails"]').val(obj.data.commodityDetails);
                    // 商品价格
                    childFrame.find('input[name="currentPrice"]').val(obj.data.currentPrice);
                    // 用户名称
                    childFrame.find('input[name="userName"]').val(obj.data.userName);
                    // 上传时间
                    childFrame.find('input[name="createDate"]').val(obj.data.createDate);
                    // 审核状态
                    if (obj.data.commodityExamine == 0){
                        childFrame.find('input[name="commodityExamine"]').val("审核未通过");
                    }else if (obj.data.commodityExamine == 1){
                        childFrame.find('input[name="commodityExamine"]').val("审核通过");
                    }else if (obj.data.commodityExamine == 2){
                        childFrame.find('input[name="commodityExamine"]').val("待审核");
                    }
                }
            })
            // 日志
        }else if (obj.event === 'journal') {
            layer.open({
                type: 2,
                title: '',
                content: 'journal.html',
                shade:[0.5,'#AFEEEE'],
                anim:4,
                area: ['83%', '83%'],
            })
            // 商品上下架
        }else if(obj.event === 'spsxj') {
            switch (data.commodityState) {
                case 1:
                    sxj(2)
                    break;
                case 2:
                    sxj(1)
                    break;
            }
            // // 审核详情
        }else if(obj.event === 'sp') {
            layer.open({
                type: 2,
                title: '审核详情',
                content: 'examine.html',
                shade:[0.5,'#AFEEEE'],
                anim:4,
                area: ['80%', '80%'],
            })
        }
    })

    // 上下架ajax请求修改
    function sxj(state) {
        $.ajax({
            type:"post",
            url:'/product/updateCommodity',
            data: {"commodityId":data.commodityId,"commodityState":state},
            dataType:'json',
            success:function (res) {
                if (res.start == 200){
                    layer.msg(res.msg,{time:500,icon:5})
                }
                else {
                    layer.msg(res.msg,{time:500,icon:6})
                }
                tableI.reload();
            },
            error:function(e){
                console.log("异常");

            }

        })
    }

// ztree树展示
$(document).ready(function () {
    $.ajax({
        type: "get",
        id:'treeDemo',
        url: "/product/getProductZtree",
        async: true,
        success: function (res) {
            zTreeObj = $.fn.zTree.init($("#treeDemo"), settingss, res.Product); //初始化树
            // console.log(res.Product);
            zTreeObj.expandAll(true);   //true 节点全部展开、false节点收缩
        }
    });
});

var settingss = {
    data: {
        simpleData: {
            enable: true,  //true 、 false 分别表示 使用 、 不使用 简单数据模式
            idKey: "classifyId",   //节点数据中保存唯一标识的属性名称
            pIdKey: "parentId",    //节点数据中保存其父节点唯一标识的属性名称
            rootPId: -1  //用于修正根节点父节点数据，即 pIdKey 指定的属性值
        },
        key: {
            name: "classifyTitle"  //zTree 节点数据保存节点名称的属性名称  默认值："name"
        }
    },
    view: {
        addHoverDom: addHoverDom, //当鼠标移动到节点上时，显示用户自定义控件
        removeHoverDom: removeHoverDom //离开节点时的操作
    },

    edit: {
        enable: true,   //拖拽必须开启edit
        drag: {
            isCopy: false,//拖拽时, 设置是否允许复制节点
            isMove: true,//拖拽时, 设置是否允许移动节点
            prev: false, //拖拽到目标节点时，设置是否允许移动到目标节点前面的操作
            next: false,//拖拽到目标节点时，设置是否允许移动到目标节点后面的操作
            inner: true,//拖拽到目标节点时，设置是否允许成为目标节点的子节点
        },
        showRenameBtn: false,//隐藏自带的修改按钮
        showRemoveBtn: false,//隐藏自带的删除按钮
    },
    callback: {
        // 单击事件
        onClick : zTreeOnClick,
        beforeRemove: beforeRemove,
        onRemove: onRemove,
        beforeEditName: beforeEditName,//点击编辑时触发，用来判断该节点是否能编辑
        onRename: onRename,//编辑后触发，用于操作后台
        beforeDrag: zTreeBeforeDrag,//拖拽前
        beforeDrop: zTreeBeforeDrop,//放置前
        onDrop: zTreeOnDrop,//放置
    },
    check: {
        enable: false,  //true 、 false 分别表示 显示 、不显示 复选框或单选框
        nocheckInherit: true   //当父节点设置 nocheck = true 时，设置子节点是否自动继承 nocheck = true
    },
    edit: {
        enable: true
    },
}

// 树节点单机事件，获取id展示右边表格
function zTreeOnClick(event, treeId, treeNode) {
    console.log(treeNode.classifyId);
    if (treeNode.classifyId !== 1){
        table.reload('tableIn', {
            url: '/product/getCommoditySee',
            where: {classifyId: treeNode.classifyId},
        })
    }else {
        table.reload('tableIn', {
            url: '/product/getCommoditySee',
            where:{commodityIsdel:0}
        })
    }
}
function zTreeBeforeDrag(treeId, treeNodes) {
    if (treeNodes[0].pId === '0') {
        //alert('一级节点不允许拖放')
        return false;
    }
};

function zTreeBeforeDrop(treeId, treeNodes, targetNode, moveType) {
    //禁止将节点拖拽成为根节点
    return !(targetNode == null || (moveType != "inner" && !targetNode.parentTId));
};

function zTreeBeforeDrop(treeId, treeNodes, targetNode, moveType) {

    //例如根据你节点的属性确定节点拖拽的规则，比如不能移动二级节点
    //比如三级节点不能放到三级节点下面，仅能放到一级或者二级
    if (treeNodes[0].treeType === '1' || targetNode.treeType === '0') {
        return false;
    }
};

function beforeEditName(treeId, treeNode) {
    /* if(treeNode.isParent){
        alert("不准编辑非叶子节点！");
        return false;
    } */
    return true;
};

// 修改数节点
function onRename(e, treeId, treeNode, isCancel) {
    if (confirm("您确认修改类别名称?")) {
        console.log(treeNode);
        $.ajax({
            type: 'post',
            url: '/product/edit',
            async: true,
            data: {
                classifyId: treeNode.classifyId,
                classifyTitle: treeNode.classifyTitle
            },
            dataType: 'json',
            success: function (response) {
                if (response.start == 200) {
                    layer.msg(response.msg, {time: 500, icon: 5})
                } else {
                    layer.msg(response.msg, {time: 500, icon: 6})
                }
                tableI.reload();
            }
        })
    }
}

function beforeRemove(treeId, treeNode) {
    if (confirm("确认删除?\n将会删除下面的所有内容！")) {
        if (treeNode.isParent) {
            alert("该目录下面还有子目录，请从最底层目录开始删除!");
            return false;
        }
        return true;
    }
    return false;
}

// 删除数节点
function onRemove(e, treeId, treeNode) {
    $.ajax({
        type: 'post',
        url: '/product/del',
        async: true,
        data: {
            classifyId: treeNode.classifyId
        },
        dataType: 'json',
        success: function (response) {
            if (response.start == 200) {
                layer.msg(response.msg, {time: 500, icon: 5})
            } else {
                layer.msg(response.msg, {time: 500, icon: 6})
            }
            tableI.reload();
        }
    })
}

// 拖拽数节点
function zTreeOnDrop(event, treeId, treeNodes, targetNode, moveType) {
    //如果是树之间的拖放发送拖拽结果给后端
    if (targetNode) {
        var node1 = treeNodes[0].getParentNode();
        $.ajax({
            type: 'post',
            url: '',
            async: true,
            data: {
                classifyId: treeNodes[0].classifyId,
                parentId: node1.parentId
            },
            dataType: 'json'
        })
    }

    //如果是把节点拖放到某个区域生成一个元素
    if (event.target.className === 'zone') {
        let item = document.createElement('div');
        item.className = 'item';
        item.style.left = event.pageX + 'px';
        item.style.top = event.pageY + 'px';
        item.innerHTML = treeNodes[0].name;

        event.target.appendChild(item);
    }
}

function addHoverDom(treeId, treeNode) {
    var sObj = $("#" + treeNode.tId + "_span"); //获取节点信息
    if (treeNode.editNameFlag || $("#addBtn_" + treeNode.tId).length > 0) return;

    var addStr = "<span class='button add' id='addBtn_" + treeNode.tId + "' title='add node' οnfοcus='this.blur();'></span>"; //定义添加按钮
    sObj.after(addStr); //加载添加按钮
    var btn = $("#addBtn_" + treeNode.tId);
    console.log(treeNode.tId);
    //绑定添加事件，并定义添加操作
    if (btn) btn.bind("click", function () {
        var zTree = $.fn.zTree.getZTreeObj("tree");
        //将新节点添加到数据库中
        var name = 'NewNode';

        // 添加数节点
        $.ajax({
            url: '/product/addTree',
            dataType: 'json',
            type: 'post',
            data: {"parentId": treeNode.classifyId, "classifyTitle": "新建文件夹"},
            success: function (response) {
                if (response.start == 200){
                    layer.msg(response.msg,{time:500,icon:5})
                }
                else {
                    layer.msg(response.msg,{time:500,icon:6})
                }
                var zTree = $.fn.zTree.getZTreeObj("treeDemo");
                zTree.addNodes(treeNode, response.data);
                window.location.replace("product.html");
            }
        })
    });
}

function removeHoverDom(treeId, treeNode) {
    $("#addBtn_" + treeNode.tId).unbind().remove();
}

})
// 时间
var xAxisArray1 = new Array();
// 已删除
var fJsArray1 = new Array();
// 已上架
var jsArray1 = new Array();
// var ftArray1 = new Array();
// 已下架
var jfArray1 = new Array();

// 已删除
$.ajax({
    type:'post',
    url:'/commodityStatistics/getCommodityStatistics',
    data:{
        commodityState:0
    },
    dataType:'json',
    success:function (res){

        res.data.forEach(function (i){
            xAxisArray1.push(i.clickDate)
            fJsArray1.push(i.count)
        })
        sessionStorage.setItem("xAxisArray1", JSON.stringify(xAxisArray1));
        sessionStorage.setItem("fJsArray1", JSON.stringify(fJsArray1));
        console.log(xAxisArray1)
        console.log(fJsArray1)

    }
})


// 已上架
$.ajax({
    type:'post',
    url:'/commodityStatistics/getCommodityStatistics',
    data:{
        commodityState:1
    },
    dataType:'json',
    success:function (res){
        res.data.forEach(function (i){
            jsArray1.push(i.count)
        })
        sessionStorage.setItem("jsArray1", JSON.stringify(jsArray1));
        console.log(jsArray1)
    }
})

// 已下架
$.ajax({
    type:'post',
    url:'/commodityStatistics/getCommodityStatistics',
    data:{
        commodityState:2
    },
    dataType:'json',
    success:function (res){
        res.data.forEach(function (i){
            jfArray1.push(i.count)
        })
        sessionStorage.setItem("jfArray1", JSON.stringify(jfArray1));
        console.log(jfArray1)
    }
})